// express初识

const express = require('express');
const app = express();  //创建应用对象

// 创建路由
// http://localhost:9016/home
app.get('/home', (req, res) => {
    // console.log(req, res)

    // 原生响应
    // res.statusCode = 555
    // res.statusMessage = 'hello express'
    // res.setHeader('Content-Type', 'text/html;charset=utf-8')
    // res.setHeader('aaa', 'bbb')
    // res.write('hello express')
    // res.end('hello express')

    // express响应
    // res.status(405)
    // res.set('bbb','ccc')
    // res.send('hello express')

    // express响应 链式调用
    res.status(444).set('ccc', 'dddd').send('hello express')
})

// http://localhost:9016/redirect
app.get('/redirect', (req, res) => {
    res.redirect('https://www.vdouw.com')
    // 状态代码: 302 Found
})

// http://localhost:9016/download
app.get('/download', (req, res) => {
    res.download('./16.express.js')
    // content-disposition: attachment; filename="16.express.js"
})

// http://localhost:9016/json
app.get('/json', (req, res) => {
    res.json({
        aa: 'bb',
        cc: 'dd'
    })
    // content-type: application/json; charset=utf-8
})

// http://localhost:9016/sendFile
app.get('/sendFile', (req, res) => {
    res.sendFile(__dirname + '/16.express.js')
})

app.post('/login', (req, res) => {
    res.end('hello login')
})

app.all('/test', (req, res) => {
    res.end('hello test')
})

// 获取URL参数
// http://localhost:9016/product/1234.html
app.get('/product/:id.html', (req, res) => {
    // console.log(req)
    // console.log(res)
    console.log(req.params.id)  // 1234
    res.end('hello product')
})

app.all('*', (req, res) => {
    res.end('404 Not Found')
})

app.listen(9016, () => {
    console.log('express server running at http://127.0.0.1:9016')
})